1. Technical Field
The present invention relates in general to a system for sharing memory by heterogeneous processors. More particularly, the present invention relates to a system for sharing memory by heterogeneous processors that are included in an integrated circuit whereby each heterogeneous processor is adapted to process its own instruction set.
2. Description of the Related Art
Electronics are becoming more and more complex. Many consumer electronics today perform computations that only large computer systems use to perform. The demand for consumer electronics has fueled electronic designers and manufacturers to continue to evolve and improve integrated circuits (IC's) that are used in consumer electronics.
Processor technology, in particular, has benefited from consumer demand. Different types of processors have evolved that focus on particular functions, or computations. For example, a microprocessor is best utilized for control functions whereas a digital signal processor (DSP) is best utilized for high-speed signal manipulation calculations. A challenge found is that many electronic devices perform a variety of functions which requires more than one processor type. For example, a cell phone uses a microprocessor for command and control signaling between a base station whereas the cell phone uses a digital signal processor for cellular signal manipulation, such as decoding, encrypting, and chip rate processing.
A processor typically has dedicated memory that the processor uses to store and retrieve data. An IC designer attempts to provide a processor with as much dedicated memory as possible so the processor is not memory resource limited. A challenge found with integrating multiple processors, however, is that each processor has dedicated memory that is not shared with other processors, even if a particular processor does not use portions of its dedicated memory. For example, a processor may have 10 MB of dedicated memory whereby the processors uses 6 MB for data storage and retrieval. In this example, the processor's 4 MB of unused memory is not accessible by other processors which equates to an underutilization of memory.
What is needed, therefore, is a system for sharing memory between heterogeneous processors that are included in an integrated circuit.